// $ANTLR 3.4

	package edu.pku.sei.AMT.resource.amtscript.mopp;


import org.antlr.runtime3_4_0.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AmtscriptLexer extends Lexer {
    public static final int EOF=-1;
    public static final int T__10=10;
    public static final int T__11=11;
    public static final int T__12=12;
    public static final int T__13=13;
    public static final int T__14=14;
    public static final int T__15=15;
    public static final int T__16=16;
    public static final int T__17=17;
    public static final int T__18=18;
    public static final int T__19=19;
    public static final int T__20=20;
    public static final int T__21=21;
    public static final int EXPR=4;
    public static final int IDENTIFIER=5;
    public static final int KEYFEATURENAME=6;
    public static final int LINEBREAK=7;
    public static final int URI=8;
    public static final int WHITESPACE=9;

    	public java.util.List<org.antlr.runtime3_4_0.RecognitionException> lexerExceptions  = new java.util.ArrayList<org.antlr.runtime3_4_0.RecognitionException>();
    	public java.util.List<Integer> lexerExceptionsPosition = new java.util.ArrayList<Integer>();
    	
    	public void reportError(org.antlr.runtime3_4_0.RecognitionException e) {
    		lexerExceptions.add(e);
    		lexerExceptionsPosition.add(((org.antlr.runtime3_4_0.ANTLRStringStream) input).index());
    	}


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AmtscriptLexer() {} 
    public AmtscriptLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AmtscriptLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "Amtscript.g"; }

    // $ANTLR start "T__10"
    public final void mT__10() throws RecognitionException {
        try {
            int _type = T__10;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:15:7: ( ',' )
            // Amtscript.g:15:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__10"

    // $ANTLR start "T__11"
    public final void mT__11() throws RecognitionException {
        try {
            int _type = T__11;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:16:7: ( '.' )
            // Amtscript.g:16:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__11"

    // $ANTLR start "T__12"
    public final void mT__12() throws RecognitionException {
        try {
            int _type = T__12;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:17:7: ( ':' )
            // Amtscript.g:17:9: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__12"

    // $ANTLR start "T__13"
    public final void mT__13() throws RecognitionException {
        try {
            int _type = T__13;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:18:7: ( '::' )
            // Amtscript.g:18:9: '::'
            {
            match("::"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__13"

    // $ANTLR start "T__14"
    public final void mT__14() throws RecognitionException {
        try {
            int _type = T__14;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:19:7: ( ';' )
            // Amtscript.g:19:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__14"

    // $ANTLR start "T__15"
    public final void mT__15() throws RecognitionException {
        try {
            int _type = T__15;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:20:7: ( '=' )
            // Amtscript.g:20:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__15"

    // $ANTLR start "T__16"
    public final void mT__16() throws RecognitionException {
        try {
            int _type = T__16;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:21:7: ( 'for' )
            // Amtscript.g:21:9: 'for'
            {
            match("for"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__16"

    // $ANTLR start "T__17"
    public final void mT__17() throws RecognitionException {
        try {
            int _type = T__17;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:22:7: ( 'key' )
            // Amtscript.g:22:9: 'key'
            {
            match("key"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__17"

    // $ANTLR start "T__18"
    public final void mT__18() throws RecognitionException {
        try {
            int _type = T__18;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:23:7: ( 'rule' )
            // Amtscript.g:23:9: 'rule'
            {
            match("rule"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__18"

    // $ANTLR start "T__19"
    public final void mT__19() throws RecognitionException {
        try {
            int _type = T__19;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:24:7: ( 'transformation' )
            // Amtscript.g:24:9: 'transformation'
            {
            match("transformation"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__19"

    // $ANTLR start "T__20"
    public final void mT__20() throws RecognitionException {
        try {
            int _type = T__20;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:25:7: ( '{' )
            // Amtscript.g:25:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public final void mT__21() throws RecognitionException {
        try {
            int _type = T__21;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:26:7: ( '}' )
            // Amtscript.g:26:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "IDENTIFIER"
    public final void mIDENTIFIER() throws RecognitionException {
        try {
            int _type = IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2085:11: ( ( ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* ) )
            // Amtscript.g:2086:2: ( ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* )
            {
            // Amtscript.g:2086:2: ( ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* )
            // Amtscript.g:2086:3: ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )*
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // Amtscript.g:2086:26: ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // Amtscript.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENTIFIER"

    // $ANTLR start "KEYFEATURENAME"
    public final void mKEYFEATURENAME() throws RecognitionException {
        try {
            int _type = KEYFEATURENAME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2088:15: ( ( ( '!' | '@' ) ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* ) )
            // Amtscript.g:2089:2: ( ( '!' | '@' ) ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* )
            {
            // Amtscript.g:2089:2: ( ( '!' | '@' ) ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )* )
            // Amtscript.g:2089:3: ( '!' | '@' ) ( 'A' .. 'Z' | 'a' .. 'z' | '_' ) ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )*
            {
            if ( input.LA(1)=='!'||input.LA(1)=='@' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // Amtscript.g:2089:35: ( '_' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'Z')||LA2_0=='_'||(LA2_0 >= 'a' && LA2_0 <= 'z')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // Amtscript.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "KEYFEATURENAME"

    // $ANTLR start "URI"
    public final void mURI() throws RecognitionException {
        try {
            int _type = URI;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2091:4: ( ( '<' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '/' | '\\\\' | ':' | '.' )+ '>' ) )
            // Amtscript.g:2092:2: ( '<' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '/' | '\\\\' | ':' | '.' )+ '>' )
            {
            // Amtscript.g:2092:2: ( '<' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '/' | '\\\\' | ':' | '.' )+ '>' )
            // Amtscript.g:2092:3: '<' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '/' | '\\\\' | ':' | '.' )+ '>'
            {
            match('<'); 

            // Amtscript.g:2092:6: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '/' | '\\\\' | ':' | '.' )+
            int cnt3=0;
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0 >= '.' && LA3_0 <= ':')||(LA3_0 >= 'A' && LA3_0 <= 'Z')||LA3_0=='\\'||(LA3_0 >= 'a' && LA3_0 <= 'z')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // Amtscript.g:
            	    {
            	    if ( (input.LA(1) >= '.' && input.LA(1) <= ':')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='\\'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt3 >= 1 ) break loop3;
                        EarlyExitException eee =
                            new EarlyExitException(3, input);
                        throw eee;
                }
                cnt3++;
            } while (true);


            match('>'); 

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "URI"

    // $ANTLR start "EXPR"
    public final void mEXPR() throws RecognitionException {
        try {
            int _type = EXPR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2094:5: ( ( '[' ( ' ' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' | '+' | '*' | '/' | '=' | '>' | '<' | '!' | '(' | ')' | '{' | '}' | ':' | '\\'' | '\\|' | ',' | '.' )+ ']' ) )
            // Amtscript.g:2095:2: ( '[' ( ' ' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' | '+' | '*' | '/' | '=' | '>' | '<' | '!' | '(' | ')' | '{' | '}' | ':' | '\\'' | '\\|' | ',' | '.' )+ ']' )
            {
            // Amtscript.g:2095:2: ( '[' ( ' ' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' | '+' | '*' | '/' | '=' | '>' | '<' | '!' | '(' | ')' | '{' | '}' | ':' | '\\'' | '\\|' | ',' | '.' )+ ']' )
            // Amtscript.g:2095:3: '[' ( ' ' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' | '+' | '*' | '/' | '=' | '>' | '<' | '!' | '(' | ')' | '{' | '}' | ':' | '\\'' | '\\|' | ',' | '.' )+ ']'
            {
            match('['); 

            // Amtscript.g:2095:6: ( ' ' | 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' | '+' | '*' | '/' | '=' | '>' | '<' | '!' | '(' | ')' | '{' | '}' | ':' | '\\'' | '\\|' | ',' | '.' )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( ((LA4_0 >= ' ' && LA4_0 <= '!')||(LA4_0 >= '\'' && LA4_0 <= ':')||(LA4_0 >= '<' && LA4_0 <= '>')||(LA4_0 >= 'A' && LA4_0 <= 'Z')||LA4_0=='_'||(LA4_0 >= 'a' && LA4_0 <= '}')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // Amtscript.g:
            	    {
            	    if ( (input.LA(1) >= ' ' && input.LA(1) <= '!')||(input.LA(1) >= '\'' && input.LA(1) <= ':')||(input.LA(1) >= '<' && input.LA(1) <= '>')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= '}') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            match(']'); 

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXPR"

    // $ANTLR start "LINEBREAK"
    public final void mLINEBREAK() throws RecognitionException {
        try {
            int _type = LINEBREAK;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2097:10: ( ( ( '\\r\\n' | '\\r' | '\\n' ) ) )
            // Amtscript.g:2098:2: ( ( '\\r\\n' | '\\r' | '\\n' ) )
            {
            // Amtscript.g:2098:2: ( ( '\\r\\n' | '\\r' | '\\n' ) )
            // Amtscript.g:2098:3: ( '\\r\\n' | '\\r' | '\\n' )
            {
            // Amtscript.g:2098:3: ( '\\r\\n' | '\\r' | '\\n' )
            int alt5=3;
            int LA5_0 = input.LA(1);

            if ( (LA5_0=='\r') ) {
                int LA5_1 = input.LA(2);

                if ( (LA5_1=='\n') ) {
                    alt5=1;
                }
                else {
                    alt5=2;
                }
            }
            else if ( (LA5_0=='\n') ) {
                alt5=3;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }
            switch (alt5) {
                case 1 :
                    // Amtscript.g:2098:4: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;
                case 2 :
                    // Amtscript.g:2098:11: '\\r'
                    {
                    match('\r'); 

                    }
                    break;
                case 3 :
                    // Amtscript.g:2098:16: '\\n'
                    {
                    match('\n'); 

                    }
                    break;

            }


            }


             _channel = 99; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LINEBREAK"

    // $ANTLR start "WHITESPACE"
    public final void mWHITESPACE() throws RecognitionException {
        try {
            int _type = WHITESPACE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // Amtscript.g:2101:11: ( ( ( ' ' | '\\t' | '\\f' ) ) )
            // Amtscript.g:2102:2: ( ( ' ' | '\\t' | '\\f' ) )
            {
            if ( input.LA(1)=='\t'||input.LA(1)=='\f'||input.LA(1)==' ' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


             _channel = 99; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WHITESPACE"

    public void mTokens() throws RecognitionException {
        // Amtscript.g:1:8: ( T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | IDENTIFIER | KEYFEATURENAME | URI | EXPR | LINEBREAK | WHITESPACE )
        int alt6=18;
        switch ( input.LA(1) ) {
        case ',':
            {
            alt6=1;
            }
            break;
        case '.':
            {
            alt6=2;
            }
            break;
        case ':':
            {
            int LA6_3 = input.LA(2);

            if ( (LA6_3==':') ) {
                alt6=4;
            }
            else {
                alt6=3;
            }
            }
            break;
        case ';':
            {
            alt6=5;
            }
            break;
        case '=':
            {
            alt6=6;
            }
            break;
        case 'f':
            {
            int LA6_6 = input.LA(2);

            if ( (LA6_6=='o') ) {
                int LA6_20 = input.LA(3);

                if ( (LA6_20=='r') ) {
                    int LA6_24 = input.LA(4);

                    if ( ((LA6_24 >= '0' && LA6_24 <= '9')||(LA6_24 >= 'A' && LA6_24 <= 'Z')||LA6_24=='_'||(LA6_24 >= 'a' && LA6_24 <= 'z')) ) {
                        alt6=13;
                    }
                    else {
                        alt6=7;
                    }
                }
                else {
                    alt6=13;
                }
            }
            else {
                alt6=13;
            }
            }
            break;
        case 'k':
            {
            int LA6_7 = input.LA(2);

            if ( (LA6_7=='e') ) {
                int LA6_21 = input.LA(3);

                if ( (LA6_21=='y') ) {
                    int LA6_25 = input.LA(4);

                    if ( ((LA6_25 >= '0' && LA6_25 <= '9')||(LA6_25 >= 'A' && LA6_25 <= 'Z')||LA6_25=='_'||(LA6_25 >= 'a' && LA6_25 <= 'z')) ) {
                        alt6=13;
                    }
                    else {
                        alt6=8;
                    }
                }
                else {
                    alt6=13;
                }
            }
            else {
                alt6=13;
            }
            }
            break;
        case 'r':
            {
            int LA6_8 = input.LA(2);

            if ( (LA6_8=='u') ) {
                int LA6_22 = input.LA(3);

                if ( (LA6_22=='l') ) {
                    int LA6_26 = input.LA(4);

                    if ( (LA6_26=='e') ) {
                        int LA6_30 = input.LA(5);

                        if ( ((LA6_30 >= '0' && LA6_30 <= '9')||(LA6_30 >= 'A' && LA6_30 <= 'Z')||LA6_30=='_'||(LA6_30 >= 'a' && LA6_30 <= 'z')) ) {
                            alt6=13;
                        }
                        else {
                            alt6=9;
                        }
                    }
                    else {
                        alt6=13;
                    }
                }
                else {
                    alt6=13;
                }
            }
            else {
                alt6=13;
            }
            }
            break;
        case 't':
            {
            int LA6_9 = input.LA(2);

            if ( (LA6_9=='r') ) {
                int LA6_23 = input.LA(3);

                if ( (LA6_23=='a') ) {
                    int LA6_27 = input.LA(4);

                    if ( (LA6_27=='n') ) {
                        int LA6_31 = input.LA(5);

                        if ( (LA6_31=='s') ) {
                            int LA6_33 = input.LA(6);

                            if ( (LA6_33=='f') ) {
                                int LA6_34 = input.LA(7);

                                if ( (LA6_34=='o') ) {
                                    int LA6_35 = input.LA(8);

                                    if ( (LA6_35=='r') ) {
                                        int LA6_36 = input.LA(9);

                                        if ( (LA6_36=='m') ) {
                                            int LA6_37 = input.LA(10);

                                            if ( (LA6_37=='a') ) {
                                                int LA6_38 = input.LA(11);

                                                if ( (LA6_38=='t') ) {
                                                    int LA6_39 = input.LA(12);

                                                    if ( (LA6_39=='i') ) {
                                                        int LA6_40 = input.LA(13);

                                                        if ( (LA6_40=='o') ) {
                                                            int LA6_41 = input.LA(14);

                                                            if ( (LA6_41=='n') ) {
                                                                int LA6_42 = input.LA(15);

                                                                if ( ((LA6_42 >= '0' && LA6_42 <= '9')||(LA6_42 >= 'A' && LA6_42 <= 'Z')||LA6_42=='_'||(LA6_42 >= 'a' && LA6_42 <= 'z')) ) {
                                                                    alt6=13;
                                                                }
                                                                else {
                                                                    alt6=10;
                                                                }
                                                            }
                                                            else {
                                                                alt6=13;
                                                            }
                                                        }
                                                        else {
                                                            alt6=13;
                                                        }
                                                    }
                                                    else {
                                                        alt6=13;
                                                    }
                                                }
                                                else {
                                                    alt6=13;
                                                }
                                            }
                                            else {
                                                alt6=13;
                                            }
                                        }
                                        else {
                                            alt6=13;
                                        }
                                    }
                                    else {
                                        alt6=13;
                                    }
                                }
                                else {
                                    alt6=13;
                                }
                            }
                            else {
                                alt6=13;
                            }
                        }
                        else {
                            alt6=13;
                        }
                    }
                    else {
                        alt6=13;
                    }
                }
                else {
                    alt6=13;
                }
            }
            else {
                alt6=13;
            }
            }
            break;
        case '{':
            {
            alt6=11;
            }
            break;
        case '}':
            {
            alt6=12;
            }
            break;
        case 'A':
        case 'B':
        case 'C':
        case 'D':
        case 'E':
        case 'F':
        case 'G':
        case 'H':
        case 'I':
        case 'J':
        case 'K':
        case 'L':
        case 'M':
        case 'N':
        case 'O':
        case 'P':
        case 'Q':
        case 'R':
        case 'S':
        case 'T':
        case 'U':
        case 'V':
        case 'W':
        case 'X':
        case 'Y':
        case 'Z':
        case '_':
        case 'a':
        case 'b':
        case 'c':
        case 'd':
        case 'e':
        case 'g':
        case 'h':
        case 'i':
        case 'j':
        case 'l':
        case 'm':
        case 'n':
        case 'o':
        case 'p':
        case 'q':
        case 's':
        case 'u':
        case 'v':
        case 'w':
        case 'x':
        case 'y':
        case 'z':
            {
            alt6=13;
            }
            break;
        case '!':
        case '@':
            {
            alt6=14;
            }
            break;
        case '<':
            {
            alt6=15;
            }
            break;
        case '[':
            {
            alt6=16;
            }
            break;
        case '\n':
        case '\r':
            {
            alt6=17;
            }
            break;
        case '\t':
        case '\f':
        case ' ':
            {
            alt6=18;
            }
            break;
        default:
            NoViableAltException nvae =
                new NoViableAltException("", 6, 0, input);

            throw nvae;

        }

        switch (alt6) {
            case 1 :
                // Amtscript.g:1:10: T__10
                {
                mT__10(); 


                }
                break;
            case 2 :
                // Amtscript.g:1:16: T__11
                {
                mT__11(); 


                }
                break;
            case 3 :
                // Amtscript.g:1:22: T__12
                {
                mT__12(); 


                }
                break;
            case 4 :
                // Amtscript.g:1:28: T__13
                {
                mT__13(); 


                }
                break;
            case 5 :
                // Amtscript.g:1:34: T__14
                {
                mT__14(); 


                }
                break;
            case 6 :
                // Amtscript.g:1:40: T__15
                {
                mT__15(); 


                }
                break;
            case 7 :
                // Amtscript.g:1:46: T__16
                {
                mT__16(); 


                }
                break;
            case 8 :
                // Amtscript.g:1:52: T__17
                {
                mT__17(); 


                }
                break;
            case 9 :
                // Amtscript.g:1:58: T__18
                {
                mT__18(); 


                }
                break;
            case 10 :
                // Amtscript.g:1:64: T__19
                {
                mT__19(); 


                }
                break;
            case 11 :
                // Amtscript.g:1:70: T__20
                {
                mT__20(); 


                }
                break;
            case 12 :
                // Amtscript.g:1:76: T__21
                {
                mT__21(); 


                }
                break;
            case 13 :
                // Amtscript.g:1:82: IDENTIFIER
                {
                mIDENTIFIER(); 


                }
                break;
            case 14 :
                // Amtscript.g:1:93: KEYFEATURENAME
                {
                mKEYFEATURENAME(); 


                }
                break;
            case 15 :
                // Amtscript.g:1:108: URI
                {
                mURI(); 


                }
                break;
            case 16 :
                // Amtscript.g:1:112: EXPR
                {
                mEXPR(); 


                }
                break;
            case 17 :
                // Amtscript.g:1:117: LINEBREAK
                {
                mLINEBREAK(); 


                }
                break;
            case 18 :
                // Amtscript.g:1:127: WHITESPACE
                {
                mWHITESPACE(); 


                }
                break;

        }

    }


 

}